[Astuce] Modifier les paramètres de vos services WCF avec PowerShell
Vous le savez peut-être, SharePoint 2010 offre un système intégré pour les services WCF que vous souhaiteriez développer. En effet, vous n'avez plus à configurer vos applications web pour obtenir les bons endpoints. SharePoint configurera dynamiquement ceux-ci selon la « fabrique de service » (service factory) que vous aurez spécifiée.
Vous trouverez plus d'informations sur le MSDN :
Seulement, vous pouvez être amené à vouloir modifier les paramètres de votre service personnalisé. En effet, SharePoint lui en attribuera par défaut, mais ceux-ci peuvent être limités dans certains cadres d'utilisation. Par exemple, lors du téléchargement de fichiers par ce biais, les tableaux de byte peuvent être trop gros et lever une exception comme celle-ci : "The maximum string content length quota (8192) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader".
Après quelques recherches, je suis tombé sur ce billet décrivant la marche à suivre : http://www.elumenotion.com/Blog/Lists/Posts/Post.aspx?ID=121
Il faut en effet ajouter une configuration pour notre service (SPWcfServiceSettings) au niveau des services hébergés par SharePoint.
Et comme le code est bon mais pas générique, j'ai décidé d'en faire un petit script PowerShell que voici :
Vous pouvez le télécharger à cette adresse : UpdateWCFSettings.zip
Et pour l'utiliser, passez simplement le nom de votre service :
Note : ce dernier semble doit être déployé avec un nom en minuscule pour que les paramètres soient pris en compte
Bon PowerShell !